/*******************************************************************************
 * Copyright (C) 2016 Advanced Micro Devices, Inc. All rights reserved.
 ******************************************************************************/

#pragma once

#ifndef BUTTERFLY_CONSTANT_H
#define BUTTERFLY_CONSTANT_H

// butterfly radix-3 constants
#define C3QA 0.50000000000000000000000000000000f
#define C3QB 0.86602540378443864676372317075294f

// butterfly radix-5 constants
#define C5QA 0.30901699437494742410229341718282f
#define C5QB 0.95105651629515357211643933337938f
#define C5QC 0.50000000000000000000000000000000f
#define C5QD 0.58778525229247312916870595463907f
#define C5QE 0.80901699437494742410229341718282f

// butterfly radix-7 constants
#define C7Q1 -1.16666666666666651863693004997913f
#define C7Q2 0.79015646852540022404554065360571f
#define C7Q3 0.05585426728964774240049351305970f
#define C7Q4 0.73430220123575240531721419756650f
#define C7Q5 0.44095855184409837868031445395900f
#define C7Q6 0.34087293062393136944265847887436f
#define C7Q7 -0.53396936033772524066165487965918f
#define C7Q8 0.87484229096165666561546458979137f

// butterfly radix-8 constants
#define C8Q 0.70710678118654752440084436210485f

// butterfly radix-11 constants
#define b11_0 0.9898214418809327f
#define b11_1 0.9594929736144973f
#define b11_2 0.9189859472289947f
#define b11_3 0.8767688310025893f
#define b11_4 0.8308300260037728f
#define b11_5 0.7784344533346518f
#define b11_6 0.7153703234534297f
#define b11_7 0.6343562706824244f
#define b11_8 0.3425847256816375f
#define b11_9 0.5211085581132027f

// butterfly radix-13 constants
#define b13_0 0.9682872443619840f
#define b13_1 0.9578059925946651f
#define b13_2 0.8755023024091479f
#define b13_3 0.8660254037844386f
#define b13_4 0.8595425350987748f
#define b13_5 0.8534800018598239f
#define b13_6 0.7693388175729806f
#define b13_7 0.6865583707817543f
#define b13_8 0.6122646503767565f
#define b13_9 0.6004772719326652f
#define b13_10 0.5817047785105157f
#define b13_11 0.5751407294740031f
#define b13_12 0.5220263851612750f
#define b13_13 0.5200285718888646f
#define b13_14 0.5165207806234897f
#define b13_15 0.5149187780863157f
#define b13_16 0.5035370328637666f
#define b13_17 0.5000000000000000f
#define b13_18 0.3027756377319946f
#define b13_19 0.3014792600477098f
#define b13_20 0.3004626062886657f
#define b13_21 0.2517685164318833f
#define b13_22 0.2261094450357824f
#define b13_23 0.0833333333333333f
#define b13_24 0.0386329546443481f

// butterfly radix-16 constants
#define C16A 0.923879532511286738f
#define C16B 0.382683432365089837f

#endif //  BUTTERFLY_CONSTANT_H
